The present invention relates to a data processing system for transferring data, and more particularly to a computer system which runs a plurality of operating systems (OS's) and executes processes of OS's at the same time by using a single channel adaptor.
Only a main frame has supported heretofore an LPAR (Logical Partition) function of running a plurality of OS's in one system under a control program. Recently, not only a main frame but also an open source server supports the LPAR function. An input/output channel adaptor is inserted into a slot of an open source server supporting the LPAR function. As a business standard specification means for connecting the channel adaptor to a host processor, a PCI (Peripheral Component Interchange) bus stipulated by PCI-SIG (Special Interest Group) has been used widely. In the case of the PCI bus, a PCI configuration register is provided as a standard component for each device such as a channel adaptor. It is difficult to share the device by a plurality of OS's, because only one control register is provided for controlling the device, and other reasons.
An example of a system supporting the LPAR function is disclosed in JP-A-2002-41306. Although a plurality of OS's can run on one system, a PCI I/O adaptor having a PCI bus as an interface cannot be shared by a plurality of OS's so that a PCI I/O adaptor is provided to each OS.
Another example is disclosed in JP-A-2002-99437 which realizes an LPAR function in a main frame or the like. The outline of this example is shown in FIG. 10. A controller 1001 and a local memory 1002 are mounted on a LAN package 1000 having a LAN adaptor 1003 as a PCI I/O device to share the LAN adaptor by a plurality of OS's. The controller 1001 has a driver 1005 for the LAN adaptor. The controller 1001 is connected to a bus 1007 such as a PCI bus or a system specific bus, and to the LAN adaptor 1003 via a PCI bus 1004.
With reference to FIG. 11, the details of an operation of this system will be described. When the controller 1001 receives an input/output process activated from an OS1, transfer data 1105 of OS1 in a system memory is buffered in the local memory 1002, and input/output process control data 1103 of OS1 is stored in the local memory 1002 as input/output process control data for the LAN adaptor. Similarly, control data and transfer data for an input/output process activated from OS2 are stored in the local memory 1002. The LAN adaptor 1003 transfers data by accessing not the system memory but the local memory 1002. The control data is newly written in the local memory of the LAN package and the transfer data is buffered in the local memory so that the performance of the system is influenced and a development cost is required.
Although the LPAR function is supported recently by an open source server, there is a limit in the number of slots capable of being mounted. It is therefore desired to share one channel adaptor by a plurality of OS's.
It is also desired to share a channel adaptor without using a hardware controller and local memory in order to reduce a cost.